A computing device may be touch-enabled such that a user provides input via touch gestures at a touchscreen of the device. Those familiar with touch-enabled devices will appreciate that a user may execute various functions by performing particular motions on the touchscreen. Examples of touch gestures include a tap gesture, a double-tap gesture, a long press gesture, a scroll gesture, a pan gesture, a flick gesture, a pinch gesture, and so forth. The operating system of the device may interpret the gesture to identify the type of gesture performed, and provide the gesture information to an application at the device. The application may pair a touch gesture with a particular function that executes upon receipt of the touch gesture. In one example, an application may pair a pinch open gesture with a zoom in function and pair a pinch close gesture with a zoom out function. As another example, an application may pair a pan gesture with a pan function that pans the display at the application or device.
Recent advances in virtualization technology, however, allow touch-enabled computing devices to access virtualized applications operating remotely relative to the device. With this technology, a user may interact with the virtualized application as if it were running natively at the computing device. Many of the virtualized applications may be designed for execution at a desktop computing device in which a user utilizes a pointing device such as a mouse to provide input. A physical pointing device may allow for more precise control and selection at the application. As a result, the graphical user interfaces of these applications may include relatively small icons, menus, and other interface elements suitable for selection using precision pointing devices.
The touchscreen of a touch-enabled device, however, may not provide the precision necessary to select these relative small interface elements. Accordingly, one challenge to presenting virtualized applications at a touch-enabled device involves accurately interpreting a touch gesture to provide a desired response. Another challenge to presenting virtualized applications at a touch-enabled device involves determining whether a touch gesture should be interpreted locally at the native environment or remotely at the virtualized environment. Users may interact with both the native operating system and the virtualized application using touch gestures. In some circumstances, the user may desire the native environment to respond to the touch gesture, while in other circumstances the user may desire the virtualized application to respond to the touch gesture. Legacy applications, such as some WINDOWS desktop applications) that were originally designed for a PC with large screen, mouse, and keyboard, are difficult to navigate using a touchscreen user interface (UI) on a small mobile/portable computing device. Organizations have tried to deploy application and desktop virtualization technologies, such as XenApp or XenDesktop with mobile client agents on platforms such as Apple iOS, Google Android, and Microsoft Windows RT. However, users are faced with problems interacting with these applications because of small form factor mobile devices without a mouse (or other precision pointing device). Without a mouse, interactions like small clickable controls, buttons and other elements spaced close together are difficult to use.
There remain numerous drawbacks and limitations in the prior art as it relates to legacy applications.